package myenum;

import net.mindview.util.Enums;

public enum SecurityCategroy {
    STOCK(Security.Stock.class),BOND(Security.Bond.class);

    Security[] values;
    SecurityCategroy(Class<? extends Security> kind) {
        values = kind.getEnumConstants();
    }

    interface Security{
        enum Stock implements Security{
            SHORT,LONG,MARGIN
        }
        enum Bond implements Security{
            MUNICIPAL,JUNK
        }
    }

    public Security randomSelection(){
        return Enums.random(values);
    }

    public static void main(String[] args) {
        for(int i = 0;i < 10; i++){
            SecurityCategroy categroy = Enums.random(SecurityCategroy.class);
            System.out.println(categroy + ": "+categroy.randomSelection());
        }
    }
}
